package cn.ecsd.common;

import java.io.Serializable;
import java.util.List;

import cn.ecsd.entity.SysEmployee;
import cn.ecsd.util.PageSupport;

/**
 * 通用接口
 * 
 * @author 寇超强
 *
 */
public interface CommonDao {
	/**
	 * 根据主键获得一条数据
	 * 
	 * @param clazz
	 *            实体类
	 * @param id
	 *            主键id
	 * @return 查到的数据
	 */
	public Object get(Class clazz, Serializable id);

	/**
	 * 添加数据到数据库
	 * 
	 * @param o
	 *            要添加的数据
	 * @return 包含主键信息的数据
	 */
	public Serializable add(Object o);

	/**
	 * 根据主键删除数据
	 * 
	 * @param clazz
	 *            实体类
	 * @param id
	 *            主键id
	 */
	public void del(Object entity);

	/**
	 * 更新数据
	 * 
	 * @param o
	 *            要更新的数据 包含主键值
	 */
	public void update(Object o);

	/**
	 * 查询数据
	 * 
	 * @param sql
	 * @return
	 */
	public List search(String sql);
	/**
	 * 分页查询
	 * @param sql
	 * @param page
	 * @param em
	 * @return
	 */
	public List queryPage(String sql,PageSupport page);
	
	public int getCount(String sql);
}
